package cn.uin.domain.auth.model.entity;

import cn.uin.types.common.TextConstants;
import cn.uin.types.utils.VerificationCodeUtils;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @ClassName HomeUserRegisterEntity
 * @Description:用户注册请求实体
 * @Author: Administrator
 * @CreateDate: 2025/10/22 10:01
 * @Version: 1.0
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HomeUserRegisterEntity {

	/** 用户名 */
	private String username;

	/** 密码 */
	private String password;

	/** 邮箱 */
	private String email;

	/** 手机号 */
	private String phone;

	/** 验证码(邮箱注册、手机号注册使用) */
	private String code;

	/** 注册方式(1:用户名密码, 2:邮箱注册, 3:手机号注册) */
	private Integer type;

	/**
	 * 创建默认用户名
	 * @return
	 */
	public String buildDefaultUsername() {
		return TextConstants.DEFAULT_USERNAME_PREFIX + VerificationCodeUtils.generateAlphanumericCode();
	}

}
